A Survey of Software Watermarking by Register Allocation (for Java Bytecode)
نویسنده
چکیده
Software watermarking involves embedding a unique identifier within a piece of software, to discourage software theft. The global revenue loss due to software piracy was estimated to be more than $50 billion in 2008. We survey the proposed register allocation based algorithms for software watermarking. This family of static watermarks are constraint-based and embed the watermark in a solution to a graph colouring problem; the graph colouring is then used to allocate registers. Register allocation is the process of allocating program variables to a finite number of CPU registers and a compiler commonly uses graph colouring to obtain the best allocation. We describe the existing techniques and highlight the short-comings of these algorithms, namely that they are highly susceptible to semantics preserving transformations. Keywords-software watermarking; register allocation; graph colouring; program transformation;java; bytecode;
منابع مشابه
Combining Offline and Online Optimizations: Register Allocation and Method Inlining
Fast dynamic compilers trade code quality for short compilation time in order to balance application performance and startup time. This paper investigates the interplay of two of the most effective optimizations, register allocation and method inlining for such compilers. We present a bytecode representation which supports offline global register allocation, is suitable for fast code generation...
متن کاملAn Evaluation of Static Java Bytecode Watermarking [Draft Version]
The rise in the use of the Internet and bytecode languages such as Java bytecode and Microsoft’s Common Intermediate Language have made copying, decompiling and disassembling software easier. The global revenue loss due to software piracy was estimated to be more than $50 billion in 2008. Watermarking is a technique which attempts to protect software by inserting copyright notices or unique ind...
متن کاملAn Evaluation of Static Java Bytecode Watermarking
-The rise in the use of the Internet and bytecode languages such as Java bytecode and Microsoft’s Common Intermediate Language have made copying, decompiling and disassembling software easier. The global revenue loss due to software piracy was estimated to be more than $50 billion in 2008. Watermarking is a technique which attempts to protect software by inserting copyright notices or unique id...
متن کاملAn annotation-aware Java virtual machine implementation
The Java bytecode language lacks expressiveness for traditional compiler optimizations, making this portable, secure software distribution format ine cient as a program representation for high performance. This ine ciency results from the underlying stack model, as well as the fact that many bytecode operations intrinsically include sub-operations (e.g., iaload includes the address computation,...
متن کاملJava Annotation - Aware Just - In - Time ( AJIT ) Compilation
The Java Bytecode language lacks expressiveness for traditional compiler optimizations, making this portable, secure software distribution format ineecient as a program representation for high performance. This inee-ciency results from the underlying stack model, as well as the fact that many bytecode operations intrinsically include sub-operations (e.g., iaload includes the address computation...
متن کامل